﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.UI.WebControls;

/// <summary>
/// Classe dos materiais pedidos em cada requisição.
/// </summary>
public class Materiais : Banco
{
    /// <summary>
    /// Atributos da Classe Materiais.
    /// </summary>
    public int Quantidade { get; set; }
    public int Unidade { get; set; }
    public string Especificacao { get; set; }

    private DataTable dt;

    /// <summary>
    /// Construtor que define tudo com "" e "0".
    /// </summary>
    public Materiais()
    {
        Quantidade = 0;
        Unidade = 0;
        Especificacao = "";
    }
    /// <summary>
    /// Construtor da Classe Materiais.
    /// </summary>
    /// <param name="Quantidade">Quantidade do mesmo item.</param>
    /// <param name="Unidade">Unidade que estão cadastradas.</param>
    /// <param name="Valor">Valor em números do material.</param>
    /// <param name="Especificacao">String com a especificação do material.</param>
    public Materiais(int Unidade, string Especificacao)
    {
        this.Unidade = Unidade;
        this.Especificacao = Especificacao;
    }
    /// <summary>
    /// Salva no banco o material com as espeficações definidas no construtor.
    /// </summary>
    /// <returns>Retorna o status do comando sql, true para ok, false se acontecer algo com o banco.</returns>
    public bool Salvar()
    {
        return Comando("INSERT INTO materiais (Unidade, Especificacao) VALUES ("+Unidade+",'"+Especificacao+"')");
    }
    /// <summary>
    /// Popula uma DropDownList com materiais cadastrados no sistema.
    /// </summary>
    /// <param name="ddl">DropDownList para ser populada.</param>
    /// <returns></returns>
    public bool PopularDropDownList(DropDownList Ddl)
    {
        return popularddl(Ddl,"SELECT Codigo, Especificacao FROM materiais ORDER BY Especificacao");
    }
    public bool IncluirMaterial(int Quantidade, int Unidade, string Valor, string Especificacao)
    {
        DataRow linha;

        linha = dt.NewRow();

        linha["Quantidade"] = Quantidade;
        linha["Unidade"] = Unidade;
        linha["Valor"] = Valor;
        linha["Especificação"] = Especificacao;

        dt.Rows.Add(linha);
        return true;
    }
    public DataTable GerarLista()
    {
        DataColumn dtc;
        dtc = new DataColumn();
        dtc.DataType = Type.GetType("System.String");
        dtc.ColumnName = "Quantidade";
        dt.Columns.Add(dtc);

        dtc = new DataColumn();
        dtc.DataType = Type.GetType("System.String");
        dtc.ColumnName = "Unidade";
        dt.Columns.Add(dtc);

        dtc = new DataColumn();
        dtc.DataType = Type.GetType("System.String");
        dtc.ColumnName = "Valor";
        dt.Columns.Add(dtc);

        dtc = new DataColumn();
        dtc.DataType = Type.GetType("System.String");
        dtc.ColumnName = "Especificação";
        dt.Columns.Add(dtc);

        return dt;
    }
}